前面介紹了兩種快速找到問題源頭方法,還沒看過的可以先參考:
在偵錯模式下,工具可以幫助我們快速找到問題的發生地。但更多時候,客戶回報問題只會有錄影或截圖。這時候要找問題發生地,就只能使用強大的搜尋功能啦~
這次可以使用這個範例來練習
GitHub: https://github.com/dreambo4/NavigationDemo
我常用的搜尋工具主要有兩個
Search Everywhere
Find in Files
*.xml
;或是很確定有某個註解關鍵字在程式中,可以限定 *.kt
或 *.java
。這邊分享幾個我平常搜尋過程中的思路
以這個APP畫面為例,如果要你使用搜尋法找到這個頁面,你會搜尋什麼關鍵字呢?
首先,這是登入畫面,所以我會先用 Search Everywhere 搜尋 Login
相關的頁面。幸運的話,很快就可以找到 LoginActivity
或 LoginFragment
。
若頁面不是可以直觀猜到名稱的,那麼我會使用 Find in Files 搜尋關鍵字,這時挑選合適的關鍵字就很重要了。
關鍵就是盡量挑選「固定不變動」、「獨一無二」的字串。只要找對關鍵字,很快就能順藤摸瓜找到 Layout,再找到相關 Class。